package com.ebupt.migu.music.schedule.mapper;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.ebupt.migu.music.schedule.entity.*;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * @author xuhongsong@cd.ebupt.com
 * @version 1.0
 * @className MessageNoticeInfo
 * @date 2020/7/3 10:31
 */
@Mapper
@DS("mysql_mg")
public interface EffectStatisticMapper {


    Integer selectUser(String strategyId);


    /**
     *  批量新增 单条已读数 单条未读数 及当日修改日期
     * @param map
     */
    int  insertStatisticsReadStatus(Map<String,Object> map);

    /**
     *   批量修改回调中对应的callback
     *
     */
    int  updateCallBack();

    /**
     *   批量新增无关统计中对应的pv,uv值
     * @param map
     */
    int  insertunRelatedStatisticsList(Map<String,Object> map);

    /**
     *   获取数据
     * @return
     */
    List<StatisticsMsgBean> SelectMessage(String yesterday);

    /**
     *   查询以前的taskid
     * @return
     */
    List<String> selectStatisticsMsg();
    /**
     *   查询以前的taskid
     * @return
     */
    List<String> selectAutoMsg();

    /**
     *   新增
     * @param statisticsMsg
     * @return
     */
    int   insert(StatisticsMsg statisticsMsg);

    /**
     *   批量新增
     * @param statisticsMsgAddList
     * @return
     */
    int   insertBatch(@Param("statisticsMsgAddList") List<StatisticsMsg> statisticsMsgAddList);

    /**
     *   批量新增
     * @param autoMsgAddList
     * @return
     */
    int   insertBatchAuto(@Param("autoMsgAddList") List<AutoMsg> autoMsgAddList);

    /**
     *  修改
     * @param statisticsMsg
     * @return
     */
    int update(StatisticsMsg statisticsMsg);


    /**
     *  修改
     * @param autoMsg
     * @return
     */
    int updateAuto(AutoMsg autoMsg);


    /**
     *  修改流水的未读数和总数
     * @param yesterday
     * @return
     */
    int  updatelist(String yesterday);


    /**
     *   批量新增流水
     * @param yesterday
     * @return
     */
    int insertBatchList(@Param("yesterday")String yesterday);

    /**
     *  查询需要 添加流水的taskId
     * @param yesterday
     * @return
     */
    List<String>  taskIdList(String yesterday);

    /**
     *
     * @param map
     * @return
     */
    int   updateBatchList(Map<String,Object> map);


    int   IsHave(String yesterday);

    /**
     *  计算转化率
     */
    void updateConversionRate();
    /**
     *  计算转化率
     */
    void updateAutoConversionRate();


    /**
     * 查询源数据库最新创建日期
     *
     * @return 最新日期字符串
     */
    String queryNewDate();
}
